package com.gitee.feizns.config.meta.field;

import com.gitee.feizns.StringUtils;
import lombok.Data;

/**
 * @author feizns
 * @since 2019/8/12
 */
@Data
public class Field {

    /**
     * 字段名
     */
    private String name;

    /**
     * 备注
     */
    private String comment;

    /**
     * 是否允许为空
     */
    private boolean nullable = true;

    /**
     * 是否唯一
     */
    private boolean unique;

    /**
     * 字符对应字符允许的最小字符长度：数字则是允许的最小值
     */
    private int min;

    /**
     * 字符对应字符允许的最大字符长度：数字则是允许的最大值
     */
    private int max;

    /**
     * 管理校验
     */
    private Exists exists;

    /**
     * 冗余填充
     */
    private Redundancy redundancy;

    /**
     * 字段类型
     */
    private Type type;

    public String getJavaName() {
        return name != null ? StringUtils.underlineToHump(name) : "";
    }

}
